home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / door / gapcdr.zip / GAPSTRUC.H < prev    next >
C/C++ Source or Header  |  1992-01-12  |  14KB  |  295 lines

  1. /*
  2.    Copyright (C) 1988-1992 The GAP Development Company
  3.  
  4.    All Rights Reserved
  5.    
  6.    This source code is considered to be confidential information proprietary
  7.    to The GAP Development Company.  It is prohibited and punishable by law
  8.    to use or duplicate any part of this information.
  9.  
  10.  
  11.    GAPSTRUC.H
  12.  
  13.    Header file for GAPCDR modules
  14. */
  15.  
  16. #pragma pack(1)                           // All structs must be packed
  17.  
  18.    struct GAP_USER
  19.       {
  20.       char fname     [16];                // first name
  21.       char lname     [16];                // last name
  22.       char handle    [16];                // handle for MPART!
  23.       char city      [30];                // city, state
  24.       char passwd    [13];                // password
  25.       char hphone    [14];                // homephone
  26.       char bphone    [14];                // work/data phone
  27.       char subscribe  [9];                // subscription date
  28.       short  level;                       // security - up to 255
  29.       long timeson;                       // times on - over 2 billion
  30.       char lastdate   [9];                // last date on - mm/dd/yy
  31.       char lasttime   [6];                // last time on - hh:mm
  32.       long ttlmins;                       // total mins on - 2+ billion
  33.       short  minutes;                     // # of minutes last call
  34.       long uploads;                       // # of uploads - 2+ billion
  35.       long downloads;                     // # of downloads - 2+ billion
  36.       long ttlbytes;                      // total bytes downloaded
  37.       long curbytes;                      // bytes downloaded this call
  38.       char private;                       // allow on private nodes?
  39.       char protocol   [3];                // transfer protocol
  40.       short  page;                        // page length - to 23
  41.       char lastdir    [9];                // date last looked at dir
  42.       long lastmsg;                       // last message read - 99999 max
  43.       long mesread;                       // total msgs read - 2+ billion
  44.       long mesleft;                       // total messages left
  45.       long forum_joined;                  // total forums joined
  46.       long blts_read;                     // total bulletins read
  47.       long doors_opened;                  // total doors opened
  48.       short  lastconf;                    // last forum in
  49.       char expert;                        // novice = N, expert = Y
  50.       char sysop;                         // sysop record, 1 = Y, 0 = N
  51.       long upbytes;                       // total bytes uploaded
  52.       short curdown;                      // total files downed today
  53.       char birthdate  [9];                // user's birthdate
  54.       char comment   [51];                // comment about user
  55.       long forum1;                        // forum membership  1  - 30
  56.       long forum2;                        // forum membership  31 - 60
  57.       long forum3;                        // forum membership  61 - 90
  58.       long fmes      [90];                // last message read each forum
  59.       };                                  // 652
  60.  
  61.  
  62.    struct PCBSYS14                        // structure of PCBOARD.SYS    
  63.       {
  64.       char display      [2];              // display on/off -1=on,0=off  
  65.       char printer      [2];              // printer on/off -1=on,0=off  
  66.       char pagebell     [2];              // page bell      -1=on,0=off  
  67.       char calleralarm  [2];              // caller alarm   -1=on,0=off  
  68.       char sysopnext;                     // sysop on next  N,X,space    
  69.       char errcorrect   [2];              // ecc modem      -1=yes,0=no  
  70.       char color;                         // color toggle   Y,N,7        
  71.       char nu;                            // node chat, not provided     
  72.       char baud         [5];              // com port bps rate           
  73.       char userbaud     [5];              // call bps rate               
  74.       int  userrec;                       // user record position        
  75.       char userfirst   [15];              // caller's first name         
  76.       char password    [12];              // users password              
  77.       int timeon;                         // time user logged on (mins)  
  78.       int timeused;                       // time user has used that day 
  79.       char ctime        [5];              // time user logged on hh:mm   
  80.       int timeallowed;                    // allowed time in minutes     
  81.       int ttlbytes;                       // total bytes available /1024 
  82.       char forumnum;                      // forum user was in "0" = main
  83.       char nu1          [5];              // areas been in, not provided 
  84.       char nu2          [5];              // areas scanned, not provided 
  85.       int timegiven;                      // highest forum time given    
  86.       int timecredit;                     // time credit in minutes      
  87.       char nu3          [4];              // language being used         
  88.       char username    [25];              // name of caller              
  89.       int minsleft;                       // minutes left for caller     
  90.       char node;                          // node number (short int)     
  91.       char event        [5];              // event time hh:mm            
  92.       char event_active [2];              // event active  -1=yes,0=no   
  93.       char slide_event  [2];              // slide event   -1=yes,0=no   
  94.       char nu4          [4];              // memorized mess #, not prov  
  95.       char port;                          // com port, '0','1','2'       
  96.       char nu5          [2];              // not used                    
  97.       };
  98.  
  99.  
  100.    //****************************************************************
  101.    //  you will need to consult the pcb documentation for a more     
  102.    //  detailed explanation of these fields.  Note that any          
  103.    //  double or float fields will have to be converted with the     
  104.    //  appropriate C conversion function.                            
  105.    //****************************************************************
  106.  
  107.    struct PCBUSER14                       // structure for PCB USERS     
  108.       {
  109.       char name         [25];             // users full name             
  110.       char city         [24];             // users home town             
  111.       char passwd       [12];             // users password              
  112.       char bphone       [13];             // users data phone number     
  113.       char hphone       [13];             // users home phone number     
  114.       char lastdate      [6];             // last date on as yymmdd (sic)
  115.       char lasttime      [5];             // last time on as hh:mm       
  116.       char expert;                        // expert mode                 
  117.       char protocol;                      // protol being used           
  118.       char nu;                            // not used                    
  119.       char lastdir       [6];             // last directory date yymmdd  
  120.       char level;                         // users level as short int    
  121.       int  timeson;                       // # of times on               
  122.       char page;                          // page length as short int    
  123.       int  uploads;                       // # of uploads                
  124.       int  downloads;                     // # of downloads              
  125.       double curdown;                     // current down bytes          
  126.       char comment1     [30];             // comment                     
  127.       char comment2     [30];             // comment                     
  128.       int elap;                           // elapsed time                  
  129.       char regisdate     [6];             // registration date yymmdd    
  130.       char exp_level;                     // expired security level      
  131.       char lastconf;                      // last forum in               
  132.       char forum_regis   [5];             // you figure it out cause     
  133.       char forum_exp     [5];             // these fields are definately 
  134.       char forum_scan    [5];             // NOT bit maps!               
  135.       double downbytes;                   // total downbytes             
  136.       double upbytes;                     // total upbytes               
  137.       char delete;                        // deleted user                
  138.       float lastmsg;                      // last msg read               
  139.       float lastmsg1    [39];             // last msg read in forums     
  140.       char nu1          [15];             // not used                    
  141.       };                                  // 400 bytes                   
  142.  
  143.  
  144. #define YES 1                             // used when calling show_mess()   
  145. #define NO  0
  146.  
  147.  
  148. #define TAB  9
  149. #define ESC  0x1b
  150.  
  151. #define F1  59 + 0x100
  152. #define F2  60 + 0x100
  153. #define F3  61 + 0x100
  154. #define F4  62 + 0x100
  155. #define F5  63 + 0x100
  156. #define F6  64 + 0x100
  157. #define F7  65 + 0x100
  158. #define F8  66 + 0x100
  159. #define F9  67 + 0x100
  160. #define F10 68 + 0x100
  161. #define F11 171 + 0x100
  162. #define F12 172 + 0x100
  163. #define CF10 103 + 0x100
  164.  
  165. #define HOME_KEY  71 + 0x100
  166. #define END_KEY   79 + 0x100
  167. #define PGUP      73 + 0x100
  168. #define PGDN      81 + 0x100
  169. #define CUR_LEFT  75 + 0x100
  170. #define CUR_RIGHT 77 + 0x100
  171. #define CUR_UP    72 + 0x100
  172. #define CUR_DOWN  80 + 0x100
  173.  
  174. #define CTRLK   11
  175. #define CTRLX   24
  176.  
  177. #define ON 1
  178. #define OFF 0
  179. #define TIMEOUT -10
  180.  
  181. //  ASCII Protocol Characters
  182.  
  183. #define NUL 0
  184. #define SOH 1
  185. #define STX 2
  186. #define ETX 3
  187. #define EOT 4
  188. #define ACK 6
  189. #define DLE 0x10
  190. #define DC1 0x11
  191. #define DC2 0x12
  192. #define DC3 0x13
  193. #define DC4 0x14
  194. #define NAK 0x15
  195. #define ETB 0x17
  196. #define CAN 0x18
  197. #define XON 0x11
  198. #define XOFF 0x13
  199.  
  200.  
  201.    // prototypes for GAPCDR functions 
  202.  
  203.    extern  void _pascal ansi(char *ansicolor);
  204.    extern  void _pascal backspace(short howmany);
  205.    extern  void _pascal do_chat(void );
  206.    extern  void _pascal update_clock(void );
  207.    extern  void _pascal clear_scrn(void );
  208.    extern  void _pascal elap_time(void );
  209.    extern  void _pascal time_left(void );
  210.    extern  void _pascal empty(unsigned char *str,short len);
  211.    extern  FILE * _pascal read_cnf(char *fname);
  212.    extern  short _pascal read_doorsys(void );
  213.    extern  short _pascal init_door(void );
  214.    extern  void _pascal no_carrier(void );
  215.    extern  void _pascal leave(short how);
  216.    extern  short _pascal read_gapuser(char *path );
  217.    extern  short _pascal write_gapuser(char *path );
  218.    extern  short _pascal getakey(void );
  219.    extern  void _pascal get_string(char *fld);
  220.    extern  void _pascal more(void );
  221.    extern  void _pascal nl(char howmany);
  222.    extern  void _pascal pagesysop(void );
  223.    extern  void _pascal pause(void );
  224.    extern  short _pascal read_pcbsys(void );
  225.    extern  short _pascal write_pcbsys(void );
  226.    extern  short _pascal read_pcbuser(char *path);
  227.    extern  short _pascal write_pcbuser(char *path );
  228.    extern  void _pascal write_score(char *datfile,unsigned long score);
  229.    extern  short _pascal read_score(char *datfile,char *message);
  230.    extern  void _pascal show_file(char *filename);
  231.    extern  void _pascal show_mess(char *vstring,char flag,char newline);
  232.    extern  void _pascal set_status(short update);
  233.    extern  void _pascal time_credit(short how);
  234.    extern  char *trim(char *str);
  235.    extern void _pascal cls(void);
  236.    extern void _pascal cls_all(void);
  237.    extern void  _pascal dv_pause(void);
  238.    extern short _pascal dv_here(void);
  239.  
  240.  
  241.    // prototypes for private GAPCDR functions 
  242.  
  243.    extern  void _pascal init_com(void );
  244.    extern  void _pascal wrap_word(void );
  245.    extern  void _pascal putkey(short c);
  246.    extern  short _pascal get_random(short low,short high);
  247.    extern void _pascal make_sound(unsigned short f, short dur);
  248.    extern short _pascal getkeyc(void);
  249.    extern short _pascal access1(char *fname);
  250.  
  251.    extern void _pascal gapputs(char *string);
  252.     extern void _pascal gapputc(short ch);
  253.    extern void _pascal lputs(char *str);
  254.    extern void _pascal lputc(short ch);
  255.    extern void _pascal curson(void);
  256.    extern void _pascal cursoff(void);
  257.    extern void _pascal timer(unsigned short tics);
  258.  
  259.    extern void _pascal init_ansi(void);
  260.    extern void _pascal fix_color(void);
  261.  
  262.    extern void _pascal set_int10(void);
  263.    extern void _pascal rest_int10(void);
  264.    extern void _pascal set_cord(unsigned char topr, unsigned char topc, unsigned char botr, unsigned char botc);
  265.    extern void _pascal set_attr(unsigned char forg, unsigned char back);
  266.    extern void _pascal get_attr(void);
  267.    extern void _pascal save_screen(short row1, short col1, short row2, short col2, unsigned short savemem);
  268.    extern void _pascal restore_screen(short row1, short col1, short row2, short col2, unsigned short savemem);
  269.  
  270.  
  271.    extern void _pascal set_cbreak(void);
  272.    extern void _pascal rest_cbreak(void);
  273.  
  274.  
  275.    // prototypes for Communications routines
  276.  
  277.    short  _pascal setport(short  bufsize,short  irq,short  base);
  278.    void   _pascal reset_port(void);
  279.    short  _pascal init_port(short  parity,short  data);
  280.  
  281.    extern  short _pascal ckeypress(void );
  282.    extern  short _pascal comgetc(void );
  283.    extern  void _pascal near is_carrier(void );
  284.    extern  void _pascal clr_buf(void );
  285.    extern  short _pascal comgetd(short secs);
  286.    extern  void _pascal computc(unsigned char ch);
  287.    extern  void _pascal computs(const unsigned char *str);
  288.    extern  void _pascal computb(const unsigned char *str, short length);
  289.    extern  void _pascal dtr(short how);
  290.    extern  void _pascal rts(short how);
  291.    extern  short _pascal iscd(void );
  292.    extern  short _pascal isring(void );
  293.    extern  short _pascal rxempty(void );
  294.    extern  short _pascal near check_port(void );
  295.